package com.authority.client;

import java.util.List;
import java.util.Set;

import com.authority.result.UserPrivilegeDTO;

public interface UserPrivilegeClientAPI {

	/**
	 * 获取菜单权限列表
	 * 
	 * @param userId
	 *            用户id
	 * @param sysCode
	 *            系统code
	 * @return 用户权限列表
	 * @throws Exception
	 */
	List<UserPrivilegeDTO> getUserPrivilegeList(Long userId, String sysCode) throws Exception;

	/**
	 * 获取权限URL集合
	 * 
	 * @param privileges
	 *            权限列表
	 * @return
	 */
	Set<String> getUserPrivilegeUrls(List<UserPrivilegeDTO> privileges) throws Exception;

	/**
	 * 验证功能是否存在
	 * 
	 * @param userId
	 *            用户id
	 * @param sysCode
	 *            系统code
	 * @param menuCode
	 *            菜单code
	 * @param actionCode
	 *            功能code
	 * @return
	 */
	boolean checkActionPrivilege(Long userId, String sysCode, String pageCode, String actionCode);
}
